Polling is a firmware method for performing a conditional branch corresponding to a predetermined status variation. In general, during polling, a processor periodically monitors the contents of a register mapped to a memory space and carries out a specific conditional branch when the contents meet a certain condition. Since it is necessary periodically to read the register contents with firmware during polling, there is a heavy processing load on the processor. Also, since a jump to conditional branching processing does not occur frequently, most of the read-out accesses performed periodically are wasted accesses that do not influence the processing flow and will cause a reduction in processing efficiency. Therefore, polling is usually a method that should be avoided. Realistically, however, polling with firmware is necessary in many cases when unexpected problems occur, for example, when a peripheral device neglects an expected interrupt processing or when proper hardware is not installed.
Examples of conventional systems are: Japanese Patent Application No. 7-264217; European Patent No. 0153764; U.S. Pat. No. 4,225,917; U.S. Pat. No. 4,638,428; U.S. Pat. No. 5,319,785; U.S. Pat. No. 5,586,056; U.S. Pat. No. 5,687,381; U.S. Pat. No. 5,939,999; U.S. Patent Pre-Grant Publ. No. 20050027914.